package com.project.service;

import com.project.domain.dto.projectApplyDto.ExportApplyBookMybatisDto;
import com.project.domain.dto.projectReviewDto.*;
import com.project.domain.entity.BizReviewScheme;
import com.project.domain.vo.BizReviewSchemeVo4EditPage;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public interface IProjectReviewService {


    List<BizReviewScheme> schemeList();

    HashMap<String,Object> getScheme(BizReviewScheme bizReviewScheme);

    void saveScheme(BizReviewSchemeVo4EditPage bizReviewSchemeVo4EditPage);

    void delScheme(List<String> ids);

    List<HashMap<String,Object>> planList(PlanListDto dto);

    List<HashMap<String, Integer>> planListStatistics(PlanListDto dto);

    int planState(PlanStateDto dto);

    int planDel(ArrayList<String> idList);

    List<HashMap<String, Object>> passedBooks(PassedBooksReqDto dto);

    List<HashMap<String, Object>> lixiangList(LixiangListReqDto dto);

    ArrayList<AssignExpertSingleLineDto> assignExperts(ArrayList<String> bookIdList);

    int saveExperts(List<SaveExpertsReqDto> dtoList);

    List<HashMap<String, Object>> infoExperts(InfoExpertsReqDto dto);

    List<HashMap<String, Object>> reviewPros(ReviewProsDto dto);

    int makeMessage(MakeMsgReqDto dto);

    List<HashMap<String, Object>> myReviews(MyReviewReqDto dto);

    ViewExpertReviewResDto reviewDetails(ViewExpertReviewDetailsReqDto dto);

    Boolean SaveReviewDetails(SaveExpertReviewReqDto dto);

    ExpertOptionsResDto opinionSummary(String bookId);

    int updateOpinionSummary(SaveAdminReviewOptionReqDto dto);

    ArrayList<ExportApplyBookMybatisDto> exportExcel(PassedBooksExcelReqDto dto);

    int refuseReview(RefuseReviewDto dto);

    int submit(ExpertSubmitDto dto);
}
